package pacote;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class LeitorArquivo {

	private static final LeitorArquivo leitor = new LeitorArquivo();
	
	private File file;
	private Scanner input;
	private long endereco;
	private char operacao;
	private boolean terminou;
	
	public LeitorArquivo(){
		terminou=false;
		//leitor.carregarArquivo("gcc.txt");
	}
	
	public void carregarArquivo(String arquivo){
		setFile(new File(arquivo));
		try {
			setInput(new Scanner(getFile()));
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			System.out.println("Erro ao abrir o arquivo.");
		}
	}
	
	public boolean lerLinha(){
		
		if(input.hasNext()){
			setEndereco(Long.parseLong(input.next(), 16));
			setOperacao(input.next().charAt(0));
			return true;
		}
			
		
		else{
			terminou=true;
			return false;
		}
		}
	
	public File getFile() {
		return file;
	}

	private void setFile(File file) {
		this.file = file;
	}

	public Scanner getInput() {
		return input;
	}

	public void setInput(Scanner input) {
		this.input = input;
	}

	public long getEndereco() {
		return endereco;
	}

	public void setEndereco(long endereco) {
		this.endereco = endereco;
	}

	public char getOperacao() {
		return operacao;
	}

	public void setOperacao(char operacao) {
		this.operacao = operacao;
	}

	public static LeitorArquivo getLeitor() {
		return leitor;
	}

	public boolean isTerminou() {
		return terminou;
	}

	public void setTerminou(boolean terminou) {
		this.terminou = terminou;
	}
}
